package com.foreknow.demo11;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 * JDBC： Java中连接数据库的技术。
 * JDBC的开发流程：
 * 1. 加载驱动
 * 2. 获取连接(Connection)
 *
 */
public class TestJdbc {
    public static void main(String[] args) {
        try {
            //jdbc不是面向对象编程，是面向关系型数据库
            //1. 加载驱动程序
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2. 获取连接(Connection)
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Fender?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC","root","1234");
            //3. 获取到Statement接口对象用于对数据库进行操作(insert delete update select)
            //   Statement接口: 用于执行静态 SQL 语句并返回它所生成结果的对象。
            //   ResultSet executeQuery(String sql) 执行给定的 SQL 语句，该语句返回单个 ResultSet 对象。
            //   int executeUpdate(String sql) 执行给定 SQL 语句，该语句可能为 INSERT、UPDATE 或 DELETE 语句，或者不返回任何内容的 SQL 语句（如 SQL DDL 语句）。
            Statement stmt = conn.createStatement();
            //4. 查询并获取到ResultSet(结果集)：用来保存查询到的结果
//            ResultSet rs = stmt.executeQuery("select * from admin");
//            List<Admin> list = new ArrayList<>();
//            while (rs.next()){
//                //获取到当前行的第几列
//                int id = rs.getInt("id");
//                String username = rs.getString("username");
//                String password = rs.getString("password");
//                Admin admin = new Admin();
//                admin.setId(id);
//                admin.setUsername(username);
//                admin.setPassword(password);
//                list.add(admin);
//                System.out.println(id+"--"+username+"--"+password);
//            }
            int isRight = stmt.executeUpdate("insert into admin(username,password) value ('tom','12335')");
            System.out.println(isRight);
            //5.关闭资源
            //rs.close();
            stmt.close();
            conn.close();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
